import os

def find_files_with_suffix(directory: str, suffixes: list[str]) -> list[str]:
    """
    find all files in the given directory and its subdirectories that end with any of the specified suffixes.
    """
    matched_files = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(tuple(suffixes)):
                matched_files.append(os.path.join(root, file))
    return matched_files